#ifndef MAINJUEGOLOCAL_H
#define MAINJUEGOLOCAL_H
#include "../common/Punto.h"
#include <sigc++/signal.h>
#include "../vista/Canvas.h"
#include "Cliente.h"
#include <gtkmm/drawingarea.h>
#include <iostream>
#include <cairomm/context.h>
#include <cairomm/surface.h>
#include <gtkmm.h>
#include <gtkmm/window.h>
#include <cairomm/refptr.h>
#include "PartidaLocal.h"
#include <string>
#include <vector>
class MainJuegoLocal
{
	public:
		MainJuegoLocal();
		MainJuegoLocal(std::string ip, int puerto );
		virtual ~MainJuegoLocal();
		
		void crearPartidaLocal(short nivel);

		void crearPartidaMultijugador(short nivel, short cantidadDeJugadores);
		void unirsePartidaMultijugador(short id,short nivel);
		std::vector<short> getPartidas();
		
		bool getEstadoConexion();
	private:
		void handlerClick(Punto* p);
		void hookClick(Canvas* canvas);
		
		void handlerGanada(short nada);
		void handlerPerdida(short nada);
		void hookEvent(Juego* pSource);
		
		Canvas c;
		Gtk::Window *main;
		Cliente *cliente;
		PartidaLocal *partida;
		bool esMultijugador;
		bool estadoConexion;
		short nivelEnCurso;
		std::string resultado;
};

#endif /* MainJuegoLocal_H */ 
